package com.sxhuayuan.parking.service;

import java.math.BigDecimal;

import com.sxhuayuan.parking.config.PayMode;
import com.sxhuayuan.parking.config.Platform;
import com.sxhuayuan.parking.entity.MemberCarPlate;
import com.sxhuayuan.parking.entity.MonthCardOrder;
import com.sxhuayuan.parking.entity.ParkingLot;
import com.sxhuayuan.parking.plugin.parking.bean.McardChargeOption;

public interface MonthCardOrderService extends BaseService<MonthCardOrder, Long> {

	MonthCardOrder createMonthCardOrder(MemberCarPlate memberCarPlate, ParkingLot lot, BigDecimal money, String pluginId, Platform platform, PayMode payMode, String ip, String remark,
			Integer monthCount, McardChargeOption option, String currExpireDate, String preExpireDate);

	/** 根据系统订单号查询 */
	MonthCardOrder findBySn(String outTradeNo);

	/** 根据华贝的订单号查询 */
	MonthCardOrder findByTradeNo(String tradeNo);

	/**
	 * 支付成功处理
	 * 
	 * @param order
	 * @param huabeiOrderNo
	 */
	void paySuccess(MonthCardOrder order, String huabeiOrderNo);
}
